package com.spsoft.vatoutinv.model.dto.custom;

import com.spsoft.core.validation.ValidUpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * <p>
 * 客户基础信息;SEQ_VMS_CUSTOM_INFO
 * </p>
 *
 * @author dcy
 * @since 2024-01-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="VmsCustomInfo对象", description="客户基础信息")
public class VmsCustomInfoDto implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    @NotNull(message = "主键id不能为空", groups = {ValidUpdateGroup.class})
    private Long id;

    /**
     * 获票人名称
     */
    @ApiModelProperty(value = "获票人名称")
    @NotBlank(message = "获票人名称不能为空")
    @Length(max=128, message = "获票人名称不能超过128个字符")
    private String hprmc;


    /**
     * 开票人纳税人识别号
     */
    @ApiModelProperty(value = "开票人纳税人识别号")
    @Length(max=20, message = "纳税人识别号不能超过20个字符")
    private String kprnsrsbh;

    /**
     * 购买方电话
     */
    @ApiModelProperty(value = "购买方电话")
    @Length(max=60, message = "购买方电话不能超过60个字符")
    private String gmfdh;

    /**
     * 购买方地址
     */
    @ApiModelProperty(value = "购买方地址")
    @Length(max=300, message = "购买方地址不能超过300个字符")
    private String gmfdz;

    /**
     * 购买方开户行
     */
    @ApiModelProperty(value = "购买方开户行")
    @Length(max=120, message = "购买方开户行不能超过120个字符")
    private String gmfkhh;

    /**
     * 购买方银行账号
     */
    @ApiModelProperty(value = "购买方银行账号")
    @Length(max=100, message = "购买方银行账号不能超过100个字符")
    private String gmfyhzh;

}
